package com.ts.main.mini.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户订单表
 * @TableName t_order
 */
@TableName(value ="t_order")
@Accessors(chain=true)
@EqualsAndHashCode
@ToString
@Data
public class OrderEntity implements Serializable {
    /**
     * 订单ID
     */
    @TableId(type = IdType.AUTO)
    private Integer orderId;

    /**
     * 订单唯一编号
     */
    private String orderNumber;

    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 处理者ID
     */
    private Integer dealUserId;

    /**
     * 订单时间
     */
    private LocalDateTime orderDate;

    /**
     * 商品组合ID
     */
    private Integer variantId;

    /**
     * 商品数量
     */
    private Integer productCount;

    /**
     * 商品单价
     */
    private String productPrice;

    /**
     * 商品总价（订单总金额）
     */
    private String totalAmount;

    /**
     * 用户收货地址ID
     */
    private Integer userAddressId;

    /**
     * 个性化设计要求描述
     */
    private String description;

    /**
     * 用户应付款金额
     */
    private String mustPayAmount;

    /**
     * 用户待付款金额
     */
    private String waitPayAmount;

    /**
     * 用户openid
     */
    private String userOpenid;

    /**
     * 用户支付金额
     */
    private String actualPayAmount;

    /**
     * 订单有效支付时间（支付截止时间）
     */
    private LocalDateTime effectiveTime;
    /**
     * 用户支付时间
     */
    private LocalDateTime userPayTime;

    /**
     * 快递方式：（邮政：EMS，顺丰快递：SF，中通快递：ZTO，申通快递：STO，圆通快递：YTO，韵达快递：YUNDA，德邦快递：DEBON）
     */
    private String shippingMethod;

    /**
     * 快递单号
     */
    private String trackNumber;

    /**
     * 订单状态:（待付款：OBLIGATION，待发货：WAIT_DELIVER，已发货：DELIVER，已完成：COMPLETED，已取消：CANCELLED）
     */
    private String orderStatus;

    /**
     * 订单排序 1-7
     */
    private Integer orderSort;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否删除（0：否，1：是）
     */
    private Boolean isDeleted;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

}